package com.atguigu.yygh.feign.impl;

import com.atguigu.yygh.feign.CmnFeign;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;


//服务降级，主要为保证链路的低延迟，防止整个链路堵塞，类似的还有熔断，hystrix
//比如 我们去查询一个商品，而每次查询商品都要休眠2秒钟，那么，如果不存在，就会造成异常商品不存在。此时我们就返回
//服务降级的结果，商品不存在或者没有对应的信息，客户端提供了降级的信息，这个服务现在已经被关闭
@Component
public class FeignError implements FallbackFactory {

    @Override
    public CmnFeign create(Throwable throwable) {
        return new CmnFeign() {
            @Override
            public String getString() {
                return "没有对应的信息，客户端提供了降级的信息，这个服务现在已经被关闭";
            }
        };
    }
}
